大家好,昨天介紹了Sequential Model(序列模型),把建立模型的方法簡略的了解了一下,然後就是今天的內容,還是決定要介紹Functional API,那接下來就進入今天的內容吧。
Functional API跟Sequential Model一樣是建立模型的方法,不過與Sequential不同的是,用Sequential Model方法建立的模型只能是單輸入單輸出的模型,而Functional API建立的模型更靈活,除了可以是單輸入單輸出外,還可以是多輸入單輸出、單輸入多輸出、多輸入多輸出的模型,能夠建立不同種類的模型,使得Functional API有更多的應用,今天會先介紹與Sequential Model一樣的單輸入單輸出模型的建立,也順便回憶昨天的內容,並且比較一下不同的地方。
首先一樣是要匯入套件:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
再來是建立模型中的各個層:
Inputs = keras.Input(shape=(1000,))
h1 = layers.Dense(30)(inputs)
h2 = layers.Dense(25)(h1)
outputs = layers.Dense(10)(h2)
最後是建立模型:
model = keras.Model(inputs=inputs, outputs=outputs)
從建立模型裡的層到最後建立模型就可以看出與Sequential Model的不同,不過最後的結果是跟昨天建立的模型一樣的,第一層輸入層的輸入大小是1000的一維向量,第二、第三層是隱藏層,第四層是輸出層,最後再藉由keras.Model方法將各層連接起來建構成模型。使用這個方法可以明顯看出比Sequential Model更具有靈活性,也能夠用來完成多輸入或是多輸出的模型。
今天就先完成與昨天同樣的單輸入單輸出模型,明天就接著來介紹其他三種模型。